iT邦幫忙

2026 iThome 鐵人賽

DAY 8
0
Software Development

Unity進階——做一個完整的遊戲系列 第 8

Day 8:把測試地圖整理成第一版主村莊

  • 分享至 

  • xImage
  •  

前一天我已經完成了 VillageScene 的 Tilemap 基礎,並且解決了素材切圖的問題。Day 7 最後已經可以用 16×16 的 Tile Palette 在 GroundTilemap 上畫出草地,也能在 RoadTilemap 上畫出簡單道路。不過當時的成果仍然比較像測試用地圖,還不能算是真正的主村莊。

因此第八天的目標,是把原本的測試地圖整理成第一版可辨識的主村莊雛形。這一天先不處理玩家移動、NPC 對話或任務系統,而是專注在村莊外觀、地圖範圍、建築配置與場景物件整理。

一開始我先檢查前一天匯入的 Anokolisa 建築素材。雖然 Anokolisa 很適合用來做地板、角色、NPC 和部分裝飾,但在製作村莊外觀時,我發現它的建築素材比較偏向長條零件,需要花很多時間手動切圖與組裝。這樣雖然可以做,但對 Day 8 的目標來說太花時間,也容易讓進度卡在素材整理上。

因此我重新檢查目前下載的素材包,並尋找更適合快速建立村莊外觀的素材。最後選擇補充匯入 Ninja Adventure,因為它是免費且授權清楚的素材包,裡面有比較適合直接作為村莊外觀的房屋、樹木、柵欄、告示牌和村莊裝飾物。

https://ithelp.ithome.com.tw/upload/images/20260906/20178373sE4muKkw5w.png

Ninja Adventure 並不是 Unity Package,而是一包圖片素材,因此我沒有把整個專案資料夾全部丟進 Unity。匯入時只挑選 Unity 會用到的圖片與音樂素材,並整理到 Assets/ImportedAssets/NinjaAdventure 底下。
整理後的分類包含 VillageTiles、VillageProps、Props、Characters、Weapons、UI、VFX 和 Audio 等。這樣後續如果要找村莊地形、建築物、角色或音效,就不用在原始素材資料夾裡慢慢翻。

接著,我先處理村莊外觀會用到的 tileset_village_abandoned.png。這張圖裡有房屋、樹木、柵欄、告示牌和一些小型裝飾物,比 Anokolisa 的建築長條零件更適合 Day 8 快速做村莊雛形。

不過這張圖不適合整張直接用 16×16 自動切圖,因為裡面有些是完整房屋或大型物件。如果全部切成小格,反而會破壞大物件的完整性。因此我使用 Sprite Editor 手動框選需要的物件,例如房子、樹、柵欄、告示牌和石頭裝飾。

https://ithelp.ithome.com.tw/upload/images/20260906/201783731hmI5e0V9b.png

手動切圖的好處是,可以保留房屋和大型裝飾物的完整形狀,不會像自動切圖那樣把建築切得太碎。完成後,Project 視窗中就能看到一個個可以直接拖進場景的子 Sprite。

接著我先把第一棟房子拖進 VillageScene 中,放在道路附近測試比例與風格。這一步主要是確認 Ninja Adventure 的建築素材能不能和目前的場景搭配。

https://ithelp.ithome.com.tw/upload/images/20260906/20178373hEHl8Y4Ddy.png

測試後可以看出,Ninja Adventure 的房屋素材比前面嘗試的建築零件更適合用來快速建立村莊外觀。房子的比例大約佔幾個 Tile 格,放在場景中不會太大,也不會太小,很適合作為主村莊的建築基礎。

不過放入房屋後,也發現前一天的草地和道路太像測試格。草地範圍偏小,路線也過於筆直,和新的房屋素材放在一起時,整體看起來不夠自然。因此我決定重新調整地圖範圍,並改用 Ninja Adventure 的草地與道路素材,讓地面和建築風格更一致。

https://ithelp.ithome.com.tw/upload/images/20260906/20178373o8H6e2O0jc.png

這一步我把原本比較像測試用的矩形草地擴大,讓村莊有更大的活動範圍。同時也重新處理道路,讓道路不只是簡單的十字測試,而是更像村莊入口區的動線。調整後,整個場景開始從「測試 Tilemap」變成「可以想像玩家會進出的村莊區域」。

接著,我開始放置村莊中的主要功能建築。根據目前的劇情需求,村莊至少需要幾個重要地點:主角的家、裝備售賣處、村長家,以及之後推進劇情可能會用到的酒館。

目前 Ninja Adventure 能直接使用的外觀建築不算很多,所以我先使用現有房屋和 placeholder 的方式建立村莊功能配置。這樣即使外觀未來還會調整,村莊的功能位置也可以先確定下來。

https://ithelp.ithome.com.tw/upload/images/20260906/20178373m6tfjEVmun.png

在這一版村莊雛形中,我先配置了主角的家、裝備售賣處、村長家 placeholder 和酒館 placeholder。主角的家使用比較普通的小屋,裝備售賣處放在道路附近,讓它看起來像玩家進村後可以馬上看到的功能點。村長家和酒館目前先以 placeholder 呈現,之後可以再替換成更合適的建築素材。

除了建築之外,我也加入了柵欄、小石路、樹叢、石頭與告示牌等裝飾物。這些物件可以讓村莊看起來不只是幾棟房子放在草地上,而是有比較完整的生活感與空間方向。

在畫面逐漸成形後,我發現另一個問題:場景裡的物件越來越多,但 Hierarchy 中很多物件仍然保留素材預設名稱,例如 tileset_village_abandoned_objects_12 這類名稱。這樣短期看起來沒問題,但後續如果要加互動、碰撞或 NPC,很快就會變得很難管理。

因此我在 Day 8 的最後整理了 VillageScene 的 Hierarchy,將主要建築、村莊物件和裝飾物重新命名與分組。

https://ithelp.ithome.com.tw/upload/images/20260906/20178373ydpJvoU6fG.png

整理後,Hierarchy 變得清楚許多。之後如果要替村長家加互動點,或替裝備店加入商店功能,就能直接找到對應的物件,而不用在一堆素材預設名稱裡慢慢猜。

最後,我再從 Scene 或 Game 視窗確認整體村莊外觀。目前這還不是最終版本,建築種類也還不夠多,但它已經能看出主村莊的基本配置:玩家入口、中央道路、主角家、裝備店、村長家位置、酒館位置,以及周圍的柵欄與裝飾物。

https://ithelp.ithome.com.tw/upload/images/20260906/20178373EcQE10bUsW.png

透過 Day 8 的整理,VillageScene 已經從 Day 7 的測試地面與道路,進一步變成第一版主村莊雛形。這一天最重要的收穫,是確認 Anokolisa 雖然適合地板、角色與部分素材,但在村莊外觀上不夠方便,因此補充使用 Ninja Adventure 來建立建築與村莊裝飾。

目前村莊已經有基本的空間規劃與功能配置,下一步 Day 9 就可以開始建立玩家角色 Prefab。等玩家角色完成後,就能把主角放進這個村莊中,讓場景不再只是靜態地圖,而是逐步變成可以操作與探索的遊戲場景。


上一篇
Day 7:重新切 16×16 Tile,鋪出村莊地面與道路
下一篇
Day 9:建立玩家角色 Prefab 與基礎動畫
系列文
Unity進階——做一個完整的遊戲12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言